Shader "UShaderBook/C5/FalseColor"
{
    SubShader{
        Pass{

            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag
            #include "UnityCG.cginc"
            fixed4 _Color = fixed4(1.0, 1.0, 1.0, 1.0);
            struct v2f{
                float4 pos : SV_POSITION;
                fixed4 color : COLOR0;
            };
            
            v2f vert(appdata_full v){
                v2f o;
                o.pos = UnityObjectToClipPos(v.vertex);
                o.color = fixed4(v.normal * 0.5 + fixed3(0.5, 0.5, 0.5), 1.0);
                return o;
            }

            float4 frag(v2f i) : SV_TARGET // 逐片元调用，输入实际上是插值之后的结果
            {
                return i.color; // 返回低精度浮点作为颜色（白色）
            }
            ENDCG
        }
    }
}
